home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / wrap-a1a / scroller.frm < prev    next >
Text File  |  1999-10-08  |  4KB  |  124 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Scroller"
  4.    ClientHeight    =   1635
  5.    ClientLeft      =   1140
  6.    ClientTop       =   1515
  7.    ClientWidth     =   6690
  8.    Height          =   2040
  9.    Left            =   1080
  10.    LinkTopic       =   "Form1"
  11.    ScaleHeight     =   1635
  12.    ScaleWidth      =   6690
  13.    Top             =   1170
  14.    Width           =   6810
  15.    Begin VB.Timer Timer1 
  16.       Left            =   4440
  17.       Top             =   480
  18.    End
  19.    Begin VB.Label Label2 
  20.       Caption         =   "Label2"
  21.       Height          =   255
  22.       Left            =   1680
  23.       TabIndex        =   1
  24.       Top             =   240
  25.       Width           =   1815
  26.    End
  27.    Begin VB.Label Label1 
  28.       Caption         =   "Label1"
  29.       Height          =   255
  30.       Left            =   120
  31.       TabIndex        =   0
  32.       Top             =   240
  33.       Width           =   1455
  34.    End
  35. End
  36. Attribute VB_Name = "Form1"
  37. Attribute VB_Creatable = False
  38. Attribute VB_Exposed = False
  39. Private Sub Form_Load()
  40. 'give Label1 a caption
  41. Label1.Caption = "Look ma! wrap-around scrolling!"
  42. 'Autosize both labels
  43. Label1.AutoSize = True
  44. Label2.AutoSize = True
  45. 'Uniform the labels
  46. Label2.Top = Label1.Top
  47. Label2.Caption = Label1.Caption
  48. 'Hide label2 offscreen
  49. Label2.Left = Form1.Width + 20
  50. 'Set the timer to a nice smooth time
  51. timer1.Interval = 90
  52. 'Enable the timer
  53. timer1.Enabled = True
  54. 'Store the Form's width in case of resize
  55. FrmSize$ = Form1.Width
  56. End Sub
  57.  
  58. Private Sub Form_Resize()
  59. '*******************************
  60. 'NOTE: this section is only needed if the form is going to change size
  61. '*******************************
  62. 'We dont want crashes from devide by 0
  63. If FrmSize$ > 0 Then
  64.     'If Label2 is farther from the forms left border
  65.     'than Label1 then
  66.     If Label1.Left < Label2.Left Then
  67.         'make sure Label2 stays offscreen
  68.         Label2.Left = Form1.Width + 20
  69.         'find how far (percent) the label is across the old screen
  70.         Percnt$ = Label1.Left / FrmSize$
  71.         'find out the distance where the label should be
  72.         'based on the percentage and put it there
  73.         Label1.Left = Form1.Width * Percnt$
  74.     End If
  75.  
  76.     'If Label1 is farther from the forms left border
  77.     'than Label2 then
  78.     If Label2.Left < Label1.Left Then
  79.         'make sure Label2 stays offscreen
  80.         Label1.Left = Form1.Width + 20
  81.         'find how far (percent) the label is across the old screen
  82.         Percnt$ = Label2.Left / FrmSize$
  83.         'find out the distance where the label should be
  84.         'based on the percentage and put it there
  85.         Label2.Left = Form1.Width * Percnt$
  86.     End If
  87. End If
  88. 'Store the form width just in case we have to go through
  89. 'this again
  90. FrmSize$ = Form1.Width
  91. End Sub
  92.  
  93.  
  94. Private Sub timer1_Timer()
  95. 'If Label1 is farther from the forms left border
  96. 'than Label2 then
  97. If Label1.Left < Label2.Left Then
  98. 'move the Label1 closer to the left border
  99. Label1.Left = Label1.Left - 25
  100. 'If the Label1 is completely offscreen then send it
  101. 'to the other side of the form to wait for its turn
  102. If Label1.Left + Label1.Width <= 0 Then Label1.Left = Form1.Width + 10
  103. 'If Label1 is partially hidden then start scrolling
  104. 'Label2
  105. If Label1.Left < 0 Then Label2.Left = Form1.Width + Label1.Left
  106. End If
  107. 'If Label2 is farther from the forms left border
  108. 'than Label1 then
  109. If Label2.Left < Label1.Left Then
  110. 'move the Label2 closer to the left border
  111. Label2.Left = Label2.Left - 25
  112. 'If the Label2 is completely offscreen then send it
  113. 'to the other side of the form to wait for its turn
  114. If Label2.Left + Label2.Width <= 0 Then Label2.Left = Form1.Width + 10
  115. 'If Label2 is partially hidden then start scrolling
  116. 'Label1
  117. If Label2.Left < 0 Then Label1.Left = Form1.Width + Label2.Left
  118. End If
  119.  
  120.  
  121. End Sub
  122.  
  123.  
  124.